using net_work.Attribute;
using net_work.Data.Enum.Cou;

namespace net_work.Data.Entity.Cou;

/// <summary>
/// 教学实体类
/// </summary>
public class Teaching : BaseEntity
{
    /// <summary>
    /// 授课年级
    /// </summary>
    [ExcelColumn(order: 92, Header = "授课年级")]public required long TeachGrade { get; set; }

    /// <summary>
    /// 授课班级编号
    /// </summary>
    [ExcelColumn(order: -1, Header = "授课班级编号")]public required string TeachCode { get; set; }

    /// <summary>
    /// 课程学分
    /// </summary>
    [ExcelColumn(order: 93, Header = "课程学分")]public required decimal TeachCredits { get; set; }

    /// <summary>
    /// 课程容量
    /// </summary>
    [ExcelColumn(order: 94, Header = "课程容量")]public required long TeachCapacity { get; set; }

    /// <summary>
    /// 授课周数
    /// </summary>
    [ExcelColumn(order: 95, Header = "授课周数")]public required long TeachWeekLength { get; set; }

    /// <summary>
    /// 课程理论学时
    /// </summary>
    [ExcelColumn(order: 96, Header = "课程理论学时")]public required long TeachTheoryHours { get; set; }

    /// <summary>
    /// 课程实践学时
    /// </summary>
    [ExcelColumn(order: 97, Header = "课程实践学时")]public required long TeachPracticalHours { get; set; }

    /// <summary>
    /// 教学班组成（描述性）
    /// </summary>
    [ExcelColumn(order: 98, Header = "教学班组成（描述性）")]public string? TeachComposition { get; set; }

    /// <summary>
    /// 课程上课地点
    /// </summary>
    [ExcelColumn(order: 99, Header = "课程上课地点")]public string? TeachLocation { get; set; }

    /// <summary>
    /// 课程状态
    /// </summary>
    [ExcelColumn(order: 100, Header = "课程状态")]public required TeachStatus TeachStatus { get; set; }

    /// <summary>
    /// 课程ID（外键）
    /// </summary>
    public required long CourseId { get; set; }
}